package com.jiashihui.schema_lgorithm.schema.composite;

import com.alibaba.fastjson.JSON;

/**
 * @author jiashihui
 * @describe: 组合模式测试类
 * @date 2019/03/15
 *
 * 组合模式有时又叫部分-整体模式，在处理类似树形结构的问题时比较方便。
 * 组合模式的使用场景:将多个对象组合在一起进行操作，常用于表示树形结构中。
 */
public class TreeTest {
    public static void main(String[] args) {
        Tree tree = new Tree();
        TreeNode rootNode = new TreeNode("根节点");
        TreeNode nodeA = new TreeNode("子节点A");
        TreeNode nodeB = new TreeNode("子节点B");
        TreeNode nodeC = new TreeNode("子节点C");
        nodeA.addChildren(nodeC);
        rootNode.addChildren(nodeA);
        rootNode.addChildren(nodeB);
        tree.setRoot(rootNode);
        System.out.println("build the tree finished!");
        System.out.println("tree is ： " + JSON.toJSONString(tree));
    }
}
